package com.hsmpay.qian4.pojo.send;

import org.apache.commons.lang.StringUtils;
import java.util.Date;

/**
 * 调用千4接口日志表
 * java bean
 * 对应 info_qian4_send_log表
 * @author 颜铃璋
 */
public class SendParam {
	private Long id;
	private String application;//
	private Long orderTypeId;//订单类型Id 
	private Integer callType;//0 前端调用  1 后台调用
	private Long userId;//前端调用  前端用户ID 后台调用  后台用户ID
	private Date sendTime;//发送时间
	private String sendSeqId;//发送流水号
	private String merchantId;//商户代码
	private String terminalId;//终端代码
	private String platformId;//平台代码
	private String transType;//交易类型码
	private String merchantOrderId;//商户订单号
	private String merchantOrderTime;//商户订单号时间
	private String transAmt;//交易金额
	private Date transTime;//交易时间
	private String currency;//交易币种
	private String accountNumber;//主账户
	private String pin;//个人身份标识码
	private String track2Data;//磁道2数据
	private String track3Data;//磁道3数据
	private String dynamicKeyData;//动态密钥数据
	private String merchantSign;//商户数字签名
	private String senderSign;//发送方数字签名
	private String serviceInfo;//服务信息
	private String terminalInfo;//终端信息
	private String mac;//报文鉴别码
	
	private String creditNumber;//信用卡卡号
	private Date orgTransTime;//原交易时间
	private String orgTransId;//原交易订单
	private String accountNumber2;//转入卡卡号
	private String accountName;//转入账户名
	private String orgMerchantOrderId;//原商户id
	private String responseCode;//银联应答码
	private String bankMessage;//银行交易信息
	private String phoneNum;//待充值手机号
	private Integer collectionType;//代收类型
	private String ip;//ip
	
	private String bankOrderNum;//交易流水号
	private String cardType;//卡类型
	private String expireDate;//卡有效期（预授权时）
	private String batchId;//批次号
	private String authorizationCode;//授权码
	private String issueBank;//发卡行
	private String bankRef;//参考号
	private String searchId;//凭证号
	
	private String icCardNum;//
	private String icCardYu;//IC卡域
	private Integer cardTypeN;//刷卡类型  1、磁条卡 2、IC卡
	private Integer isNeedNameId;//是否需要传入身份证和转出卡姓名 1 需要 0 不需要
	private String idCard;//收款卡身份证
	private String purchaseName;//收款卡姓名
	private String fee;//手续费
	
	private Integer encryType;//加密类型
	private ICCardParam iccParam;
	
	private String miPin;//加密密码
	private String miTrack2Data;//加密2磁道
	private Integer isNew;//0 为旧版本  1 新版本
	private String transTerminalId;//翰星终端ID
	
	//业务属性
	public int timeOut = 0;//记录超时  如果超时三次  将保存到超时表中
	
	public Date getOrgTransTime() {
		return orgTransTime;
	}
	public void setOrgTransTime(Date orgTransTime) {
		this.orgTransTime = orgTransTime;
	}
	public String getOrgTransId() {
		return orgTransId;
	}
	public void setOrgTransId(String orgTransId) {
		this.orgTransId = orgTransId;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Long getOrderTypeId() {
		return orderTypeId;
	}
	public void setOrderTypeId(Long orderTypeId) {
		this.orderTypeId = orderTypeId;
	}
	public Date getSendTime() {
		return sendTime;
	}
	public void setSendTime(Date sendTime) {
		this.sendTime = sendTime;
	}
	public String getSendSeqId() {
		return sendSeqId;
	}
	public void setSendSeqId(String sendSeqId) {
		this.sendSeqId = sendSeqId;
	}
	public String getMerchantId() {
		return merchantId;
	}
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}
	public String getTerminalId() {
		return terminalId;
	}
	public void setTerminalId(String terminalId) {
		this.terminalId = terminalId;
	}
	public String getPlatformId() {
		return platformId;
	}
	public void setPlatformId(String platformId) {
		this.platformId = platformId;
	}
	public String getTransType() {
		return transType;
	}
	public void setTransType(String transType) {
		this.transType = transType;
	}
	public String getMerchantOrderId() {
		return merchantOrderId;
	}
	public void setMerchantOrderId(String merchantOrderId) {
		this.merchantOrderId = merchantOrderId;
	}
	public String getMerchantOrderTime() {
		return merchantOrderTime;
	}
	public void setMerchantOrderTime(String merchantOrderTime) {
		this.merchantOrderTime = merchantOrderTime;
	}
	public String getTransAmt() {
		return transAmt;
	}
	public void setTransAmt(String transAmt) {
		this.transAmt = transAmt;
	}
	public Date getTransTime() {
		return transTime;
	}
	public void setTransTime(Date transTime) {
		this.transTime = transTime;
	}
	public String getCurrency() {
		return currency;
	}
	public void setCurrency(String currency) {
		this.currency = currency;
	}
	public String getAccountNumber() {
		return accountNumber;
	}
	public void setAccountNumber(String accountNumber) {
		this.accountNumber = accountNumber;
	}
	public String getPin() {
		return pin;
	}
	public void setPin(String pin) {
		this.pin = pin;
	}
	public String getTrack2Data() {
		return track2Data;
	}
	public void setTrack2Data(String track2Data) {
		this.track2Data = track2Data;
	}
	public String getTrack3Data() {
		return track3Data;
	}
	public void setTrack3Data(String track3Data) {
		this.track3Data = track3Data;
	}
	public String getDynamicKeyData() {
		return dynamicKeyData;
	}
	public void setDynamicKeyData(String dynamicKeyData) {
		this.dynamicKeyData = dynamicKeyData;
	}
	public String getMerchantSign() {
		return merchantSign;
	}
	public void setMerchantSign(String merchantSign) {
		this.merchantSign = merchantSign;
	}
	public String getSenderSign() {
		return senderSign;
	}
	public void setSenderSign(String senderSign) {
		this.senderSign = senderSign;
	}
	public String getServiceInfo() {
		return serviceInfo;
	}
	public void setServiceInfo(String serviceInfo) {
		this.serviceInfo = serviceInfo;
	}
	public String getTerminalInfo() {
		return terminalInfo;
	}
	public void setTerminalInfo(String terminalInfo) {
		this.terminalInfo = terminalInfo;
	}
	public String getMac() {
		return mac;
	}
	public void setMac(String mac) {
		this.mac = mac;
	}
	public String getCreditNumber() {
		return creditNumber;
	}
	public void setCreditNumber(String creditNumber) {
		this.creditNumber = creditNumber;
	}
	public String getAccountNumber2() {
		return accountNumber2;
	}
	public void setAccountNumber2(String accountNumber2) {
		this.accountNumber2 = accountNumber2;
	}
	public String getAccountName() {
		return accountName;
	}
	public void setAccountName(String accountName) {
		this.accountName = accountName;
	}
	public String getOrgMerchantOrderId() {
		return orgMerchantOrderId;
	}
	public void setOrgMerchantOrderId(String orgMerchantOrderId) {
		this.orgMerchantOrderId = orgMerchantOrderId;
	}
	public String getResponseCode() {
		return responseCode;
	}
	public void setResponseCode(String responseCode) {
		this.responseCode = responseCode;
	}
	public String getBankMessage() {
		return bankMessage;
	}
	public void setBankMessage(String bankMessage) {
		this.bankMessage = bankMessage;
	}
	public Integer getCallType() {
		return callType;
	}
	public void setCallType(Integer callType) {
		this.callType = callType;
	}
	public Long getUserId() {
		return userId;
	}
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	public String getApplication() {
		return application;
	}
	public void setApplication(String application) {
		this.application = application;
	}
	public String getPhoneNum() {
		return phoneNum;
	}
	public void setPhoneNum(String phoneNum) {
		this.phoneNum = phoneNum;
	}
	public Integer getCollectionType() {
		return collectionType;
	}
	public void setCollectionType(Integer collectionType) {
		this.collectionType = collectionType;
	}
	public String getIp() {
		return ip;
	}
	public void setIp(String ip) {
		this.ip = ip;
	}
	public String getBankOrderNum() {
		return bankOrderNum;
	}
	public void setBankOrderNum(String bankOrderNum) {
		this.bankOrderNum = bankOrderNum;
	}
	public String getCardType() {
		return cardType;
	}
	public void setCardType(String cardType) {
		this.cardType = cardType;
	}
	public String getExpireDate() {
		return expireDate;
	}
	public void setExpireDate(String expireDate) {
		this.expireDate = expireDate;
	}
	public String getBatchId() {
		return batchId;
	}
	public void setBatchId(String batchId) {
		this.batchId = batchId;
	}
	public String getAuthorizationCode() {
		return authorizationCode;
	}
	public void setAuthorizationCode(String authorizationCode) {
		this.authorizationCode = authorizationCode;
	}
	public String getIssueBank() {
		return issueBank;
	}
	public void setIssueBank(String issueBank) {
		this.issueBank = issueBank;
	}
	public String getBankRef() {
		return bankRef;
	}
	public void setBankRef(String bankRef) {
		this.bankRef = bankRef;
	}
	public String getSearchId() {
		return searchId;
	}
	public void setSearchId(String searchId) {
		this.searchId = searchId;
	}
	public int getTimeOut() {
		return timeOut;
	}
	public void setTimeOut(int timeOut) {
		this.timeOut = timeOut;
	}
	public String getIcCardYu() {
		return icCardYu;
	}
	public void setIcCardYu(String icCardYu) {
		if(StringUtils.isNotEmpty(icCardYu) && !"null".equals(icCardYu)){
			iccParam = new ICCardParam(icCardYu);
		}
		this.icCardYu = icCardYu;
	}
	public ICCardParam getIccParam() {
		return iccParam;
	}
	public void setIccParam(ICCardParam iccParam) {
		this.iccParam = iccParam;
	}
	public Integer getEncryType() {
		return encryType;
	}
	public void setEncryType(Integer encryType) {
		this.encryType = encryType;
	}
	public String getIcCardNum() {
		return icCardNum;
	}
	public void setIcCardNum(String icCardNum) {
		this.icCardNum = icCardNum;
	}
	public String getMiPin() {
		return miPin;
	}
	public void setMiPin(String miPin) {
		this.miPin = miPin;
	}
	public String getMiTrack2Data() {
		return miTrack2Data;
	}
	public void setMiTrack2Data(String miTrack2Data) {
		this.miTrack2Data = miTrack2Data;
	}
	public Integer getCardTypeN() {
		return cardTypeN;
	}
	public void setCardTypeN(Integer cardTypeN) {
		this.cardTypeN = cardTypeN;
	}
	public Integer getIsNeedNameId() {
		return isNeedNameId;
	}
	public void setIsNeedNameId(Integer isNeedNameId) {
		this.isNeedNameId = isNeedNameId;
	}
	public String getIdCard() {
		return idCard;
	}
	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}
	public String getPurchaseName() {
		return purchaseName;
	}
	public void setPurchaseName(String purchaseName) {
		this.purchaseName = purchaseName;
	}
	public String getFee() {
		return fee;
	}
	public void setFee(String fee) {
		this.fee = fee;
	}
	public Integer getIsNew() {
		return isNew;
	}
	public void setIsNew(Integer isNew) {
		this.isNew = isNew;
	}
	public String getTransTerminalId() {
		return transTerminalId;
	}
	public void setTransTerminalId(String transTerminalId) {
		this.transTerminalId = transTerminalId;
	}
}
